package com.ibp.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;

//正则表达
public class RegeUtils {

	/***
	 * 根据输入的查询条件生成正则表达式 '*' -- 表示匹配任意字符 '?' --匹配一个字符
	 * 
	 * @param str
	 * @return
	 */
	public static String string2Regex(String str) {
		if (StringUtils.isBlank(str)) {
			return null;
		}
		return str.replaceAll("\\.", "\\.").replaceAll("\\*", ".*")
				.replaceAll("\\?", ".{1}").replaceAll("\\(", "\\\\(")
				.replaceAll("\\)", "\\\\)");
	}
	
	
	//用正则表达式匹配输入内容
	public static boolean match(String str, String reg){
		if(StringUtils.isBlank(reg)){
			return true;
		}
		reg=string2Regex(reg);
		Pattern pattern = Pattern.compile(reg);
		Matcher matcher = pattern.matcher(str);
		return matcher.find();
	}
}
